//
// Created by zhupi on 2024/10/16.
//

#ifndef DEMO2_DOCK_TAB_WIDGET_H
#define DEMO2_DOCK_TAB_WIDGET_H



#include <QDockWidget>
#include <QTableWidget>
#include <QTabWidget>

struct DataRow {
    QString name;
    QString value;
    QString unit;
    QString evaluatedValue;
    bool editable;  // 用于判断是否可编辑
};


class PropertiesTabWidget : public QDockWidget
{
Q_OBJECT
public:
    explicit PropertiesTabWidget(QWidget *parent) : QDockWidget(parent) {}
    void Initial();
    void Test();

    // 添加一行
    void AddRow(const DataRow &data);
    // 移除一行,根据name移除
    void RemoveRow(const QString &name);
    // 修改数据，
    void ChangeData(const DataRow &data);
    // 修改一行的状态，可编辑或者不可编辑
    void EnableRow(const QString &name);
    // 设置某一个使能不使能
    void EnableRowItem(const QString &name, const QString &type);
private:

    void InitPlan();
    void InitList();

    QTabWidget *mainTab_ {nullptr};
    QTableWidget *tableWidget_ {nullptr};
};

#endif //DEMO2_DOCK_TAB_WIDGET_H
